ãã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ãæ·±ãæãäžãããã®éèŠæ§ãå®è£ ãã¬ãŒã ã¯ãŒã¯ãã°ããŒãã«ãªéçºããŒã ã®ããã®ãã¹ããã©ã¯ãã£ã¹ãæ¢ããŸãã
ãã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒå ç¢ãªå®è£ ãã¬ãŒã ã¯ãŒã¯ã®æ§ç¯
仿¥ã®çžäºæ¥ç¶ãããããžã¿ã«ã©ã³ãã¹ã±ãŒãã«ãããŠããŠã§ãã¢ããªã±ãŒã·ã§ã³ã倿°ã®ãã©ãŠã¶ãããã€ã¹ã§å®ç§ã«æ©èœããããšãä¿èšŒããã®ã¯ãåãªãæè¡çãªèæ ®äºé ã§ã¯ãªããæŠç¥çã«äžå¯æ¬ ãªèŠçŽ ã§ãããŠãŒã¶ãŒãéžæãããã©ãŠãžã³ã°ç°å¢ã«é¢ããããã³ã³ãã³ãã«ã·ãŒã ã¬ã¹ã«ã¢ã¯ã»ã¹ããã€ã³ã¿ã©ã¯ãã§ããèœåã¯ããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããã³ã³ããŒãžã§ã³çããã©ã³ãã®è©å€ããããŠæçµçã«ã¯ããžãã¹ã®æåã«çŽæ¥åœ±é¿ããŸããããã§ãæç¢ºã«å®çŸ©ããããã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ãšå ç¢ãªå®è£ ãã¬ãŒã ã¯ãŒã¯ãæãéèŠã«ãªããŸãã
ç®ã«èŠããªãæŠå ŽïŒãã©ãŠã¶äºææ§ãã°ããŒãã«ã«éèŠãªçç±
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠããã©ãŠã¶äºææ§ã®éèŠæ§ã¯å€§å¹ ã«å¢å¹ ãããŸããç°ãªãå°åã§æ®åããŠããããã€ã¹ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å€æ§æ§ãèããŠã¿ãŠãã ãããå é²åœã®ææ°ãã©ãã°ã·ããã¹ããŒããã©ã³ãããæ°èåœã§ãŸã 䜿çšãããŠããå€ããã¹ã¯ãããã¢ãã«ãŸã§ããããããç¬èªã®ã¬ã³ããªã³ã°ãšã³ãžã³ãJavaScriptã€ã³ã¿ãŒããªã¿ããããŠãŠã§ãæšæºã®å®è£ ã»ãããæã£ãŠããŸãããã®å€æ§æ§ãèæ ®ããªããšã以äžã®ãããªäºæ ã«ã€ãªããå¯èœæ§ããããŸãïŒ
- åçã®æå€±ïŒ æœåšçãªé¡§å®¢ãã奜ã¿ã®ãã©ãŠã¶ã§ãã§ãã¯ã¢ãŠãããã»ã¹ãå£ããŠããããã«è³Œå ¥ãå®äºã§ããªãå Žåãåçæºã¯çŽæ¥çãªåœ±é¿ãåããŸãã
- ãã©ã³ãè©äŸ¡ã®æ¯æïŒ ç¹å®ã®ãã©ãŠã¶ã§å£ããŠããããã«èŠãããããããã§ãã·ã§ãã«ã§ãªãããã«èŠãããŠã§ããµã€ãã¯ãä¿¡é ŒãæãªããããããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã軜èŠããŠãããšããã€ã¡ãŒãžãäžããããŸããã
- ã¢ã¯ã»ã·ããªãã£ã®äœäžïŒ ç¹å®ã®ãã©ãŠã¶ã®çãããã©ãŠã¶ãšç¹å®ã®æ¹æ³ã§å¯Ÿè©±ããæ¯æŽæè¡ã«äŸåããŠããé害ãæã€ãŠãŒã¶ãŒãæå³ããæé€ããŠããŸãããšããããŸãã
- ãµããŒãã³ã¹ãã®å¢å ïŒ äºææ§ã®åé¡ãå¢å ãããšããµããŒããã±ãããå¢ããã«ã¹ã¿ããŒãµãŒãã¹ããŒã ãžã®è² æ ã倧ãããªããŸãã
- ç«¶äºäžã®äžå©çïŒ ç«¶åä»ç€Ÿãåªãããæ®éçã«äºææ§ã®ããäœéšãæäŸããŠããå ŽåããŠãŒã¶ãŒã¯èªç¶ãšãã¡ãã«æµããŠãããŸãã
ããã«ããã©ãŠã¶ã®æŽæ°ããŒã¹ã®éããæ°ãããŠã§ãæ©èœã®å°å ¥ã¯ãäºææ§ãäžåºŠããã®ä¿®æ£ã§ã¯ãªããç¶ç¶çãªããã»ã¹ã§ããããšãæå³ããŸããChromeãFirefoxãSafariãEdgeã®æ°ããããŒãžã§ã³ã¯é »ç¹ã«ãªãªãŒã¹ãããæã«ã¯æ¢åã®æ©èœãå£ãå¯èœæ§ã®ãã埮åŠãªå€æŽãå°å ¥ãããããšããããŸããäž»èŠãªãã©ãŠã¶ã ãã§ãªããæ°èãã©ãŠã¶ãïŒã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«åã蟌ãŸãããããªïŒç¹æ®ãªãŠã§ããã¥ãŒããè€éããããã«å¢ããŠããŸãã
ãã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ±ãçè§£ãã
å æ¬çãªãã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯äžå€ã«ããŠæ§ç¯ããããã®ã§ã¯ãããŸãããããã«ã¯ã人æãããã»ã¹ããã¯ãããžãŒãç¶²çŸ ããæŠç¥çãªã¢ãããŒããå¿ èŠã§ãããã®äžæ žã«ã¯ã以äžãå«ãŸããŸãïŒ
1. å®çŸ©ããããã©ãŠã¶ãµããŒããããªãã¯ã¹
ããããäºææ§æŠç¥ã®åºç€ãšãªãã®ã¯ãæç¢ºã«å®çŸ©ããããã©ãŠã¶ãµããŒããããªãã¯ã¹ã§ãããã®ããã¥ã¡ã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ããµããŒããä¿èšŒãããã©ãŠã¶ãšããŒãžã§ã³ãæŠèª¬ããŸãããã®æ±ºå®ã«åœ±é¿ãäžããèŠå ã«ã¯ã以äžãå«ãŸããŸãïŒ
- ã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã®ãã¢ã°ã©ãã£ãã¯ïŒ ãŠãŒã¶ãŒåæãè¡ããã°ããŒãã«ãªãŠãŒã¶ãŒããŒã¹ã§æãäžè¬çã«äœ¿çšãããŠãããã©ãŠã¶ãšããŒãžã§ã³ãçè§£ããŸããGoogle Analyticsã®ãããªããŒã«ã¯ããã©ãŠã¶ã®ååžã«é¢ãã貎éãªæŽå¯ãæäŸããŸãã
- æ¥çæšæºãšãã¬ã³ãïŒ äžè¬çãªãŠã§ãå©çšã®ãã¬ã³ããæ°èãã©ãŠã¶æè¡ã«ã€ããŠåžžã«æ å ±ãåŸãŠãããŸãã
- éçºããã³ãã¹ããªãœãŒã¹ïŒ åºç¯å²ã®ãã©ãŠã¶ã«ããã£ãŠäºææ§ããã¹ãããç¶æããããã®ããŒã ã®èœåãçŸå®çã«è©äŸ¡ããŸããåºã䜿çšãããŠãããã©ãŠã¶ãšããŒãžã§ã³ã®ã³ã¢ã»ãããåªå ããæ¹ãå®çšçãªå Žåãå€ãã§ãã
- ã»ãã¥ãªãã£ã®èæ ®äºé ïŒ å€ããã©ãŠã¶ããŒãžã§ã³ã«ã¯ããµããŒãããããšãããå±éºãšãªãæ¢ç¥ã®ã»ãã¥ãªãã£è匱æ§ãããå ŽåããããŸãã
ã°ããŒãã«ãªäŸïŒ å€åœç±ã®eã³ããŒã¹ãã©ãããã©ãŒã ã¯ãåç±³ããšãŒãããã§ã¯Chromeãæ¯é çã§ããäžæ¹ãã¢ãžã¢ã®ç¹å®ã®åžå Žã§ã¯Safariãéåžžã«äººæ°ããããç¹å®ã®å°åã®ãšã³ã¿ãŒãã©ã€ãºãŠãŒã¶ãŒã®éã§ã¯å€ãããŒãžã§ã³ã®Internet ExplorerããŸã æ®åããŠããããšãèŠåºããããããŸããã圌ãã®ãµããŒããããªãã¯ã¹ã¯ããããã®å°åçãªãã¥ã¢ã³ã¹ãåæ ããå¿ èŠããããŸãã
2. æšæºåãããéçºãã©ã¯ãã£ã¹
ãŠã§ãæšæºã®éµå®ã¯ãäºææ§ã®åé¡ã«å¯Ÿããæã广çãªäºé²çã§ããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- HTML5ãšCSS3ïŒ ãããã®æšæºã®ã¢ãã³ã§ãååã«ãµããŒããããŠããæ©èœã掻çšããŸãã
- ECMAScript (JavaScript)ïŒ ã¿ãŒã²ãããã©ãŠã¶ã§åºãæ¡çšãããŠããæ©èœãå©çšããŸããBabelã®ãããªãã©ã³ã¹ãã€ã«ããŒã«ã䜿çšããŠãæ°ããJavaScriptæ§æãããå€ããäºææ§ã®ããããŒãžã§ã³ã«å€æããããšãæ€èšããŸãã
- ããã°ã¬ãã·ããšã³ãã³ã¹ã¡ã³ãïŒ ã³ã¢æ©èœãæãåºæ¬çãªãã©ãŠã¶ã§åäœããããã«èšèšãããã®åŸããã髿©èœãªãã©ãŠã¶ã®ããã«æ©èœåŒ·åãéããŠãããŸããããã«ããããã¹ãŠã®ãŠãŒã¶ãŒã«ããŒã¹ã©ã€ã³ã®äœéšãä¿èšŒãããŸãã
- éæšæºæ©èœã®åé¿ïŒ ç¬èªã®ãã©ãŠã¶æ¡åŒµæ©èœããå ¬åŒã®ãŠã§ãæšæºã®äžéšã§ã¯ãªãæ©èœã¯é¿ããŸãã
3. ç¶ç¶çãªãã¹ããšç£èŠ
ãã¹ãã¯å ç¢ãªäºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããã¯ããŒã³ã§ããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- æåãã¹ãïŒ å°ä»»ã®QAãšã³ãžãã¢ãéçºè ããå³éžãããç©çããã€ã¹ããšãã¥ã¬ãŒã¿ã§æåãã¹ããè¡ããŸãã
- èªåãã¹ãïŒ æ§ã ãªãã©ãŠã¶ç°å¢ã§å®è¡ãããèªåãã¹ãã¹ã€ãŒããå®è£ ããŸããããã¯å¹çãšã¹ã±ãŒã©ããªãã£ã®ããã«äžå¯æ¬ ã§ãã
- ãªã¢ã«ãŠãŒã¶ãŒã¢ãã¿ãªã³ã° (RUM)ïŒ å®éã®ãŠãŒã¶ãŒã»ãã·ã§ã³ããããã©ãŒãã³ã¹ãšãšã©ãŒããŒã¿ããã£ããã£ããããŒã«ã䜿çšããäºææ§ã®åé¡ã«é¢ããå®äžçã§ã®æŽå¯ãæäŸããŸãã
4. ããŒãžã§ã³ç®¡çãšããŒã«ããã¯æŠç¥
å åºãªããŒãžã§ã³ç®¡çã·ã¹ãã ïŒGitãªã©ïŒã¯ã倿Žã远跡ããããã«äžå¯æ¬ ã§ããåæ§ã«éèŠãªã®ã¯ããªãªãŒã¹åŸã«äºææ§ã®åé¡ãçºèŠãããå Žåã«ãåé¡ã®ãããããã€ãè¿ éã«ããŒã«ããã¯ããããã®æç¢ºãªæŠç¥ã§ãã
å®è£ ãã¬ãŒã ã¯ãŒã¯ïŒçè«ããå®è·µãž
ã€ã³ãã©ã¹ãã©ã¯ãã£ãæ§ç¯ããããšãšãéçºã©ã€ããµã€ã¯ã«å šäœã§ããã广çã«å®è£ ããããšã¯å¥ç©ã§ããæ§é åãããå®è£ ãã¬ãŒã ã¯ãŒã¯ã¯ãèšèšãããããã€ãä¿å®ã«è³ããŸã§ã®ãã¹ãŠã®æ®µéã§ãã©ãŠã¶äºææ§ãèæ ®ãããããšãä¿èšŒããŸãã
1. æ©æã®çµ±åãšèšèš
ã·ããã¬ããïŒ ãã©ãŠã¶äºææ§ã®èæ ®ã¯ãèšèšããã³ã¢ãŒããã¯ãã£ã®æ®µéã§éå§ãããã¹ãã§ãããã¶ã€ããŒãšããã³ããšã³ãã¢ãŒããã¯ãã¯ãã¿ãŒã²ãããã©ãŠã¶ã®ãµããŒããããªãã¯ã¹ãèªèãããã®å¶çŽå ã§èšèšããå¿ èŠããããŸãã
- å¶çŽä»ããããã¿ã€ãã³ã°ïŒ ãããã¿ã€ããäœæããéã«ã¯ãç°ãªããã©ãŠã¶ã®ã¬ã³ããªã³ã°ãšã³ãžã³ãã·ãã¥ã¬ãŒãããããæœåšçãªäºææ§ã®èœãšãç©Žãæ©æã«ç¹å®ã§ããããŒã«ã䜿çšããŸãã
- ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ïŒ äºææ§ãç¬ç«ããŠãã¹ããããåå©çšå¯èœãªã³ã³ããŒãã³ãã§èšèšããããšã§ãåºç¯å²ã«ãããåé¡ã®ãªã¹ã¯ãå€§å¹ ã«åæžã§ããŸãã
2. éçºã¯ãŒã¯ãããŒã®çµ±å
éçºè ããŒã«ïŒ ã¢ãã³ãªãã©ãŠã¶ã¯ãç°ãªãããã€ã¹ã®ãšãã¥ã¬ãŒããã¬ã³ããªã³ã°ã®æ€æ»æ©èœãå«ã匷åãªéçºè ããŒã«ïŒäŸïŒChrome DevTools, Firefox Developer ToolsïŒãæäŸããŸããéçºè ã¯ãéçºããã»ã¹äžã«ãããã®ããŒã«ãçç·ŽããŠäœ¿çšããå¿ èŠããããŸãã
- ãªã³ã¿ãŒãšéçè§£æïŒ äºææ§ãæèããã«ãŒã«ãæã€ãªã³ã¿ãŒïŒäŸïŒJavaScriptçšã®ESLint, CSSçšã®StylelintïŒã䜿çšããããšã§ãã³ãŒããã³ããããããåã«æœåšçãªåé¡ããã©ã°ç«ãŠã§ããŸãã
- ããªãã£ã«ãšãã©ã³ã¹ãã€ã«ïŒ JavaScriptã«ã€ããŠã¯ãBabelã®ãããªããŒã«ã䜿çšããŠã¢ãã³ãªES6+ã³ãŒããããå€ããäºææ§ã®ããããŒãžã§ã³ã«ãã©ã³ã¹ãã€ã«ããŸããCSSã«ã€ããŠã¯ãããªãã£ã«ãå€ããã©ãŠã¶ã®ãµããŒãã®ã®ã£ãããåããããšãã§ããå ŽåããããŸãã
3. ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çãããã€ã¡ã³ã (CI/CD) ãã€ãã©ã€ã³
CI/CDãã€ãã©ã€ã³ã¯ãäºææ§ãã§ãã¯ãèªååãã匷å¶ããã®ã«çæ³çã§ããããã§ãæ§é åããããã¬ãŒã ã¯ãŒã¯ã®çã®åãçºæ®ãããŸãã
- èªååãããã¯ãã¹ãã©ãŠã¶ãã¹ãïŒ CI/CDãã€ãã©ã€ã³ã«èªåãã¹ãããŒã«ãçµ±åããŸããBrowserStackãSauce LabsãLambdaTestã®ãããªãµãŒãã¹ã¯ãèªåãã¹ãå®è¡ã®ããã®ã¯ã©ãŠãããŒã¹ã®ãªã¢ã«ãã©ãŠã¶ãšããã€ã¹ã®ã°ãªãããæäŸããŸãã
- ã¹ãããã·ã§ãããã¹ãïŒ PercyãChromaticã®ãããªããŒã«ã¯ãç°ãªããã©ãŠã¶ã§ã¢ããªã±ãŒã·ã§ã³ã®ããžã¥ã¢ã«ã¹ãããã·ã§ããããã£ããã£ããäºææ§ã®åé¡ã®çç¶ã§ããããšãå€ãããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ããã€ã©ã€ã衚瀺ããŸãã
- ãã¬ã³ãããããã¯ïŒ ã³ããããèš±å¯ããåã«èªåãã¹ãããªã³ã¿ãŒãå®è¡ããGitããã¯ãå®è£ ããäºææ§ã®ãªãã³ãŒãããªããžããªã«å ¥ãã®ãé²ããŸãã
äŸïŒ CIãã€ãã©ã€ã³ã§ã¯ãã³ãŒããããã·ã¥ããããã³ã«èªåãã¹ããããªã¬ãŒãããŸãããããã®ãã¹ãã¯ãç¹å®ã®ãã©ãŠã¶ããŒãžã§ã³ïŒäŸïŒChrome 100ïŒãã·ãã¥ã¬ãŒãããDockerã³ã³ããã§å®è¡ãããæ¬¡ã«å¥ã®ããŒãžã§ã³ïŒäŸïŒFirefox 98ïŒã®å¥ã®ã³ã³ããã§å®è¡ãããŸããããããã®ãã¹ãã倱æãããšããã€ãã©ã€ã³ã¯åæ¢ããéçºè ã«å³åº§ã«èŠåããŸãããã®ããã¢ã¯ãã£ããªã¢ãããŒãã¯ãéçºãµã€ã¯ã«ã®ãã£ãšåŸã§åé¡ãçºèŠããã®ãšæ¯èŒããŠãå€§å¹ ãªæéãšåŽåãç¯çŽããŸãã
4. ã¹ããŒãžã³ã°ãšæ¬çªåæ€èšŒ
æ¬çªç°å¢ã«ãããã€ããåã«ãã¹ããŒãžã³ã°ç°å¢ã¯æ¬çªç°å¢ã«è¿ãã¬ããªã«ã§åŸ¹åºçãªãã¹ããè¡ãããã«äžå¯æ¬ ã§ããããã¯ãåºç¯ãªäºææ§æ€èšŒã®ããã®æåŸã®ãã§ãã¯ãã€ã³ããšãªãããšãå€ãã§ãã
- 䞊åç°å¢ïŒ å®éã®ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ãããã©ãŠã¶ãããã€ã¹ã®ç¯å²ãå«ããå¯èœãªéãæ¬çªç°å¢ãæš¡å£ããã¹ããŒãžã³ã°ç°å¢ãå©çšããŸãã
- ãŠãŒã¶ãŒåãå ¥ããã¹ã (UAT)ïŒ å©å®³é¢ä¿è ã倿§ãªããŒã¿ãã¹ã¿ãŒã°ã«ãŒããå·»ã蟌ã¿ã圌ãèªèº«ã®ããã€ã¹ããã©ãŠã¶ã§ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãšå€èŠ³ãæ€èšŒããŠããããŸããããã«ãããã°ããŒãã«ãªèŠç¹ããã®è²Žéãªå®äžçããã®ãã£ãŒãããã¯ãåŸãããŸãã
5. ãããã€åŸã®ç£èŠãšãã£ãŒãããã¯ã«ãŒã
äœæ¥ã¯ãããã€ã§çµããã§ã¯ãããŸãããç¶ç¶çãªç£èŠãšè¿ éãªãã£ãŒãããã¯ã¡ã«ããºã ãäžå¯æ¬ ã§ãã
- ã¢ããªã±ãŒã·ã§ã³ããã©ãŒãã³ã¹ç£èŠ (APM) ããŒã«ïŒ New Relic, Datadog, Sentryã®ãããªããŒã«ã¯ãç¹å®ã®ãã©ãŠã¶ç°å¢ã«ç¹æã®ãšã©ãŒãããã©ãŒãã³ã¹ã®ããã«ããã¯ã远跡ã§ããŸãã
- ãšã©ãŒãã©ããã³ã°ïŒ ãã©ãŠã¶ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããŒãžã§ã³ããšã«ãšã©ãŒãåé¡ããå ç¢ãªãšã©ãŒãã©ããã³ã°ãå®è£ ããäºææ§é¢é£ã®ãã°ãè¿ éã«ç¹å®ããŸãã
- ãŠãŒã¶ãŒãã£ãŒãããã¯ãã£ãã«ïŒ ãŠãŒã¶ãŒãééããåé¡ãå ±åããããã®æç¢ºã§ã¢ã¯ã»ã¹ããããæ¹æ³ã確ä¿ããŸãããµããŒããã£ãã«ããœãŒã·ã£ã«ã¡ãã£ã¢ãã³ãã¥ããã£ãã©ãŒã©ã ãç©æ¥µçã«ç£èŠããäºææ§é¢é£ã®èŠæ ã«å¯Ÿå¿ããŸãã
- 宿çãªç£æ»ïŒ ãã©ãŠã¶ãµããŒããããªãã¯ã¹ãšãã¹ãæŠç¥ã®æå¹æ§ã宿çã«èŠçŽããé²åãããã©ãŠã¶ã®ç¶æ³ã«é©å¿ããŸãã
ã¹ã±ãŒã©ãã«ãªãã©ãŠã¶äºææ§ã®ããã®ãã¯ãããžãŒæŽ»çš
ãŠã§ãéçºã®ã°ããŒãã«ãªæ§è³ªã¯ããã©ãŠã¶äºææ§ã广çã«ç®¡çããããã«ã¹ã±ãŒã©ãã«ãªãã¯ãããžãŒãšãµãŒãã¹ã®å©çšãå¿ èŠãšããŸãã
1. ã¯ã©ãŠãããŒã¹ã®ãã¹ããã©ãããã©ãŒã
BrowserStackãSauce LabsãLambdaTestã®ãããªãµãŒãã¹ã¯äžå¯æ¬ ã§ãããããã¯ä»¥äžãæäŸããŸãïŒ
- åºå€§ãªãã©ãŠã¶ãšããã€ã¹ã®ã°ãªããïŒ æ§ã ãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãŸãããäœçŸãã®ãªã¢ã«ãã©ãŠã¶ãšããã€ã¹ãžã®ã¢ã¯ã»ã¹ãæäŸãã瀟å ã«ãã¹ãã©ããç¶æããå¿ èŠæ§ããªãããŸãã
- èªåãã¹ãã®çµ±åïŒ äžè¬çãªãã¹ããã¬ãŒã ã¯ãŒã¯ïŒSelenium, Cypress, Playwrightãªã©ïŒãšã®ã·ãŒã ã¬ã¹ãªçµ±åã«ãããå€§èŠæš¡ãªãã¹ããå®è¡ã§ããŸãã
- ããžã¥ã¢ã«ãã¹ãïŒ ã¹ã¯ãªãŒã³ã·ã§ãããæ¯èŒããããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ãç¹å®ããæ©èœã
- ã©ã€ãã€ã³ã¿ã©ã¯ãã£ããã¹ãïŒ ãªã¢ã«ããã€ã¹ããã©ãŠã¶ã§ãªã¢ãŒãããæåãã¹ããè¡ãèœåã
ã°ããŒãã«ãªã€ã³ãã¯ãïŒ ç°ãªã倧éžã«åæ£ããéçºè ããŒã ã«ãšã£ãŠããããã®ãã©ãããã©ãŒã ã¯äžè²«ãããäžå€®éæš©çãªãã¹ãç°å¢ãæäŸããå šå¡ãåããµããŒã察象ãã©ãŠã¶ã»ããã«å¯ŸããŠæ€èšŒãè¡ãããšãä¿èšŒããŸãã
2. ã³ã³ããå (Docker)
Dockerã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ãšãã®äŸåé¢ä¿ãããŒã¿ãã«ãªã³ã³ããã«ããã±ãŒãžåã§ããŸããããã¯ä»¥äžã®ç¹ã§éåžžã«äŸ¡å€ããããŸãïŒ
- äžè²«ãããã¹ãç°å¢ïŒ CI/CDãµãŒããŒã®å Žæã«é¢ããããèªåãã¹ããåäžã®ç°å¢ã§å®è¡ãããããšãä¿èšŒããŸãã
- ç¹å®ã®ãã©ãŠã¶ããŒãžã§ã³ã®ã·ãã¥ã¬ãŒãïŒ ãã¹ãçšã«ç¹å®ã®ãã©ãŠã¶ããŒãžã§ã³ã§äºåæ§æãããã³ã³ãããäœæããŸãã
3. ãããã¬ã¹ãã©ãŠã¶
ãããã¬ã¹ãã©ãŠã¶ïŒäŸïŒHeadless Chrome, Headless FirefoxïŒã¯ãã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãªãã§å®è¡ãããŸãããããã¯ä»¥äžã®ç¹ã§éåžžã«å¹ççã§ãïŒ
- èªåUIãã¹ãïŒ å®å šãªãã©ãŠã¶UIã®ãªãŒããŒããããªãã§ãCI/CDãã€ãã©ã€ã³ã§ãšã³ãããŒãšã³ãã®ãã¹ããå®è¡ããŸãã
- ããã©ãŒãã³ã¹ãã¹ãïŒ å¶åŸ¡ãããç°å¢ã§ããŒãæéãšãªãœãŒã¹äœ¿çšçãæž¬å®ããŸãã
4. ããã°ã¬ãã·ããŠã§ãã¢ã㪠(PWA) ãšæ©èœæ€åº
çŽæ¥çãªäºææ§ããŒã«ã§ã¯ãããŸããããPWAã®ååãšå ç¢ãªæ©èœæ€åºãæ¡çšããããšã§ãå埩åãé«ããããšãã§ããŸããPWAã¯ãã©ãŠã¶éã§ã¢ããªã®ãããªäœéšãæäŸããããšãç®æããŠãããæ©èœæ€åºïŒç¹å®ã®APIãæ©èœã䜿çšããåã«ãã©ãŠã¶ãããããµããŒãããŠããã確èªããããšïŒã¯ããã©ãŠã¶ã¹ãããã£ã³ã°ãããå ç¢ãªã¢ãããŒãã§ãã
5. ã¢ããã³ã°ããã³ã¹ã¿ãã³ã°ããŒã«
ãŠããããã¹ããçµ±åãã¹ãã«ãããŠãã¢ããã³ã°ãã¹ã¿ãã³ã°ã¯ã³ã³ããŒãã³ããåé¢ãããã©ãŠã¶APIãå«ãäŸåé¢ä¿ãã·ãã¥ã¬ãŒãã§ããŸããããã«ãããå®å šãªãã©ãŠã¶ç°å¢ãå¿ èŠãšããã«ãåã ã®ããžãã¯ãŠããããããéããããä¿¡é Œæ§ã®é«ãæ¹æ³ã§ãã¹ãã§ããŸãã
ã°ããŒãã«ããŒã ã«ããã課é¡ãšãã¹ããã©ã¯ãã£ã¹
ãã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å®è£ ãšç¶æã¯ãç¹ã«ã°ããŒãã«ã«åæ£ããããŒã ã«ãšã£ãŠç¹æã®èª²é¡ãæç€ºããŸãïŒ
- 倿§ãªãŠãŒã¶ãŒããŒã¹ïŒ åè¿°ã®éããå°åã«ãã£ãŠãã©ãŠã¶ã®äœ¿çšãã¿ãŒã³ã¯ç°ãªããŸããå æ¬çãªåžå Žèª¿æ»ãéµãšãªããŸãã
- ã¿ã€ã ãŸãŒã³ã®éãïŒ è€æ°ã®ã¿ã€ã ãŸãŒã³ã«ããããã¹ãäœæ¥ãšãã°ã®ããªã¢ãŒãžã調æŽããã«ã¯ãæç¢ºãªã³ãã¥ãã±ãŒã·ã§ã³ãããã³ã«ãšéåæã¯ãŒã¯ãããŒãå¿ èŠã§ãã
- ã€ã³ã¿ãŒãããæ¥ç¶ã®ã°ãã€ãïŒ äžéšã®å°åã§ã¯ããŠãŒã¶ãŒã®ã€ã³ã¿ãŒãããæ¥ç¶ãé ãããŸãã¯ä¿¡é Œæ§ãäœãå Žåããããé«åž¯åå¹ ç°å¢ã§ã¯æããã«ãªããªãããã©ãŒãã³ã¹é¢é£ã®äºææ§ã®åé¡ãé²åããããšããããŸããäœåž¯åå¹ ãã·ãã¥ã¬ãŒãããæ¡ä»¶äžã§ãã¹ãããŸãã
- UI/UXã«ãããæåçãªãã¥ã¢ã³ã¹ïŒ å³å¯ã«ã¯ãã©ãŠã¶äºææ§ã§ã¯ãããŸããããæåã«ãã£ãŠãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãã¶ã€ã³ã«å¯ŸããæåŸ ãç°ãªãå ŽåããããŸãããã¹ãŠã®ã¿ãŒã²ããå°åã§ããžã¥ã¢ã«èŠçŽ ããã©ãŠã¶éã§æ£ããã¬ã³ããªã³ã°ãããããšãä¿èšŒããããšãéèŠã§ãã
- ã¢ããããŒããžã®è¿œéïŒ çµ¶ãéãªããã©ãŠã¶ã®ã¢ããããŒãã®æµãã«ã¯ãã¢ãžã£ã€ã«ã§å¿çæ§ã®é«ããã¹ãããã³éçºããã»ã¹ãå¿ èŠã§ãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- åªå é äœä»ããšååŸ©ïŒ æãéèŠãªãã©ãŠã¶ãšãŠãŒã¶ãŒã»ã°ã¡ã³ãã«ãŸãçŠç¹ãåœãŠãŸãããã©ãŠã¶ãµããŒããããªãã¯ã¹ã¯é²åãããããšãã§ããŸãã
- 培åºçãªèªååïŒ ç¹ã«CI/CDãã€ãã©ã€ã³å ã§ã®èªåãã¹ãã«éç¹çã«æè³ããåé¡ãæ©æãã€äžè²«ããŠæ€åºããŸãã
- æšæºåã®æšé²ïŒ ãŠã§ãæšæºã«å³å¯ã«åŸããŸãã
- ãã¹ãŠãææžåïŒ ãã©ãŠã¶ãµããŒããããªãã¯ã¹ããã¹ãæé ãæ¢ç¥ã®äºææ§ã®åé¡ã«é¢ããæç¢ºãªææžãç¶æããŸãã
- éšé暪æçãªååã®ä¿é²ïŒ éçºè ãQAãšã³ãžãã¢ããã¶ã€ããŒããããã¯ããããŒãžã£ãŒãäºææ§ã®ç®æšã«ã€ããŠé£æºãããªãŒããŒã·ãããå ±æããããšãä¿èšŒããŸãã
- ãã¬ãŒãã³ã°ãžã®æè³ïŒ ããŒã ãã¯ãã¹ãã©ãŠã¶äºææ§ã广çã«ãã¹ããããããã°ããããã®ç¥èãšããŒã«ãåããããã«ããŸãã
- 宿çãªåæã¬ãã¥ãŒïŒ ãŠãŒã¶ãŒåæãç¶ç¶çã«ç£èŠããŠãã©ãŠã¶ã®ãã¬ã³ããçè§£ããããã«å¿ããŠæŠç¥ã調æŽããŸãã
- åè³ªã®æåãæ§ç¯ïŒ ãã©ãŠã¶äºææ§ãåãªãQAã®ã¿ã¹ã¯ã§ã¯ãªããå ±æã®è²¬ä»»ãšããŸãã
çµè«ïŒã°ããŒãã«ãªãŠã§ãæåã®ããã®åºç€
å®çšçãªå®è£ ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠåŒ·åããããããèšèšããããã©ãŠã¶äºææ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ããªãã·ã§ã³ã®è¿œå æ©èœã§ã¯ãªããã°ããŒãã«ãªãŠã§ãã§ã®æåãç®æãããããçµç¹ã«ãšã£ãŠåºæ¬çãªèŠä»¶ã§ãããµããŒããããªãã¯ã¹ãæŠç¥çã«å®çŸ©ããéçºãã©ã¯ãã£ã¹ãæšæºåããCI/CDãã€ãã©ã€ã³ã«ç¶ç¶çãªãã¹ããçµ±åããã¢ãã³ãªã¯ã©ãŠãããŒã¹ã®ãã¯ãããžãŒã掻çšããããšã§ãã©ãã«ãããã¹ãŠã®ãŠãŒã¶ãŒã«ãäžè²«ããé«å質ãªäœéšãæäŸãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãããã®ããã¢ã¯ãã£ããªã¢ãããŒãã¯ãªã¹ã¯ãæå°éã«æãããŠãŒã¶ãŒæºè¶³åºŠãé«ããã°ããŒãã«ãªããžã¿ã«åžå Žã§ã®é©æ°ãšæé·ã®ããã®åŒ·åºãªåºç€ãæäŸããŸãã